
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TDAMAR_ANTC_I01]        
/*-------------------------------------------------------*/        
/*---Empresa              : OFISIS S.A.                --*/        
/*---Cliente              : SANTILLANA                 --*/        
/*---Sistema              : Tesoreria                  --*/        
/*---Modulo               : Empresa                    --*/        
/*---Programa             : Grabacion Detalle          --*/        
/*---                       Amarre Bancos(Anticipos).  --*/        
/*---                       Docs (Ingresos)            --*/          
/*---Script               : tdbanc_p.sql               --*/        
/*---Nombre SP            : SP_TDAMAR_ANTC_I01         --*/        
/*---Desarrollado por     : Eduardo Vivar Pomiano      --*/        
/*---Fecha Creaci=n       : 04/02/2001                 --*/        
/*---Base Datos           : Oracle               --*/        
/*---Versi=n              : 8.0                        --*/        
/*---Invoca a SP          :                            --*/        
/*-------------------------------------------------------*/        
/*-------------------------------------------------------*/        
/*---Modificado 1 por     : EVP           --*/        
/*---Fecha Modificaci=n   : 11/04/2001            --*/         
/*---Detalle Modificaci=n : SQL           --*/        
/*-------------------------------------------------------*/        
/*-------------------------------------------------------*/        
/*---Modificado 2 por     : Maribel Julca Rodriguez    --*/        
/*---Fecha Modificaci©n   : 21/04/2005                 --*/         
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA, CO_USUA_MODI  --*/        
/*-------------------------------------------------------*/        
      
/*-------------------------------------------------------*/        
/*---Comentarios                                       --*/        
/*---                                                  --*/        
/*---                                                  --*/        
/*-------------------------------------------------------*/        
/*-------------------------------------------------------*/        
/*---Drop Proc SP_TDAMAR_ANTC_I01                      --*/        
/*---Grant Execute on SP_TDAMAR_ANTC_I01 to public         --*/         
/*---SP_TDAMAR_ANTC_I01                                --*/        
/*-------------------------------------------------------*/        
@ISCO_EMPR  TD_VC_002,        
@ISCO_USUA_MODI  TD_VC_008_USUA,        
@ISNU_AMAR   TD_VC_008,         
@IDFE_AMAR  TD_DT_001,        
@INNU_SECU   TD_IN_001,        
@ISTI_ENTI   TD_VC_001,        
@ISCO_ENTI   TD_VC_020,        
@ISTI_DOCU_ENTI  TD_VC_003,        
@ISNU_DOCU_ENTI  TD_VC_020,        
@ISCO_MONE_DOCU  TD_VC_003,        
@IDFE_DOCU   TD_DT_001,        
@INIM_DOCU   TD_NU_016_004,        
@INIM_SALD_DOCU  TD_NU_016_004,        
@INIM_DETA   TD_NU_016_004,        
@ISDE_OBSE   TD_VC_100,        
@ISST_CIER_DOCU  TD_VC_001_SINO,        
@INIM_DETA_NEGA  TD_NU_016_004,        
@ISTI_DOCU   TD_VC_003,        
@INFA_TIPO_CAMB  TD_NU_015_006,         
@ISCO_MONE    TD_VC_003,        
@INIM_SALD_CONV  TD_NU_016_004,        
@ISCO_UNID_CONC  TD_VC_003      
 As      
Declare         
    @VNNU_SECU   TD_IN_001,        
    @VNIM_MOVI_ANTE   TD_NU_016_004,        
    @VNIM_TOTA   TD_NU_016_004,        
    @VNIM_CONV_ANTE  TD_NU_016_004,        
    @VNNU_REGI   TD_IN_001,        
    @VSST_SIGN   TD_VC_001,        
    @VNIM_TOTA_CLIE  TD_NU_016_004,        
    @VNIM_TOTA_PROV   TD_NU_016_004,        
    @VNIM_CONV_DOCU  TD_NU_016_004,        
    @VSCO_MONE_NACI  TD_VC_003,        
    @VSCO_MONE_EXTR  TD_VC_003,        
    @VSTI_DOCU_TICK  TD_VC_003,        
    @VSCO_ESTA_LETR   TD_VC_003,        
    @VSTI_CAMB  TD_VC_001,        
    @VSTI_ORIG  TD_VC_001,        
     @VSNU_SERI_PERC  TD_VC_005, @VDFE_COMP_PERC TD_DT_001, @VSNU_DOCU_PERC  TD_VC_020, @VSTI_DOCU_PERC   TD_VC_003     

Begin Tran SP_TDAMAR_ANTC_I01        
        
 Select @VSCO_MONE_NACI = CO_MONE_DEFA,         
 @VSCO_MONE_EXTR = CO_MONE_EXTR        
 From  TMPARA_TESO        
 Where CO_EMPR = @ISCO_EMPR        
    
 -- Documento Percepcion ---                              
 Select @VSTI_DOCU_PERC = TI_DOCU                                      
 From TTDOCU_CNTB                                      
 Where ST_DOCU_0020 = 'S'       
       
 If @ISCO_MONE_DOCU != @ISCO_MONE        
 Begin        
  Select @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG        
  From TTFACA_OPCI        
  Where CO_EMPR = @ISCO_EMPR        
  And CO_MODU = 'TEEM0001'        
  And CO_MENU = 'FTEEMCF'        
        
  If @VSTI_CAMB Is Null        
   Select @VSTI_CAMB = TI_CAMB, @VSTI_ORIG = TI_ORIG     From TMPARA_TESO        
   Where CO_EMPR = @ISCO_EMPR        
       
  Select @VNIM_CONV_DOCU = (Select dbo.FN_TCFACT_CAMB_Q02(@ISCO_MONE, @ISCO_MONE_DOCU,         
  @IDFE_AMAR, @INIM_DETA, @VSTI_CAMB, @VSTI_ORIG, 'S', @VSCO_MONE_NACI, @VSCO_MONE_EXTR, @INFA_TIPO_CAMB))        
       
  Select @VNIM_CONV_DOCU = Round(@VNIM_CONV_DOCU, 2)        
 End        
 Else        
  Select @VNIM_CONV_DOCU = @INIM_DETA                
       
       
 If @INNU_SECU <= 0 OR @INNU_SECU Is null  -- 6--        
 Begin         
  select  @VNNU_SECU = 0         
        
  Select  @VNNU_SECU = Max(IsNull(NU_SECU,0))        
  From  TDAMAR_ANTC        
  Where CO_EMPR = @ISCO_EMPR        
  And CO_UNID_CONC = @ISCO_UNID_CONC        
  And NU_AMAR = @ISNU_AMAR        
  And FE_AMAR = @IDFE_AMAR        
        
        
  If @VNNU_SECU > 0  -- 1 ---        
   Select @VNNU_SECU = @VNNU_SECU + 1        
  Else        
   Select @VNNU_SECU = 1           
       
       
  Insert Into TDAMAR_ANTC (CO_EMPR, CO_UNID_CONC, NU_AMAR, FE_AMAR, NU_SECU, TI_ENTI, CO_ENTI,         
  TI_DOCU_ENTI, NU_DOCU_ENTI, CO_MONE_DOCU, FE_DOCU,         
  IM_DOCU, IM_SALD_DOCU, IM_DETA, IM_CONV_DOCU, DE_OBSE,        
  ST_CIER_DOCU, IM_DETA_NEGA, IM_SALD_CONV, ST_CONT, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)        
  Values (@ISCO_EMPR, @ISCO_UNID_CONC, @ISNU_AMAR, @IDFE_AMAR, @VNNU_SECU, @ISTI_ENTI, @ISCO_ENTI, @ISTI_DOCU_ENTI,         
  @ISNU_DOCU_ENTI, @ISCO_MONE_DOCU, @IDFE_DOCU, @INIM_DOCU,        
  @INIM_SALD_DOCU, @INIM_DETA, @VNIM_CONV_DOCU, @ISDE_OBSE,         
  @ISST_CIER_DOCU, @INIM_DETA_NEGA, @INIM_SALD_CONV, 'N', @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())        
       
  If @@error <> 0        
  Begin        
   Rollback tran        
   Return        
  End            
       
       
  If @ISST_CIER_DOCU = 'S'  -- 5---        
  BEGIN         
   If @ISTI_DOCU_ENTI != 'LET' -- 3 ---        
   BEGIN         
    If @ISTI_ENTI = 'C' -- 2 ---        
    BEGIN         
   --Inserta Doc Percepcion                
   If @ISTI_DOCU_ENTI = @VSTI_DOCU_PERC                
   Begin                  
    Select  @VSNU_SERI_PERC = Substring(@ISNU_DOCU_ENTI, 1, Patindex('%-%', @ISNU_DOCU_ENTI)-1)                  
    if @IDFE_AMAR Is Null                  
  Select @VDFE_COMP_PERC = @IDFE_DOCU                  
    else                   
  Select @VDFE_COMP_PERC = @IDFE_AMAR                  
         
    
   Exec SP_TCCOMP_PERC_I02 @ISCO_EMPR, @ISCO_USUA_MODI, @ISCO_ENTI, @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, @VSNU_SERI_PERC, @VDFE_COMP_PERC, @INFA_TIPO_CAMB, NULL,NULL,           
    NULL, null,null, @ISNU_AMAR, @ISCO_UNID_CONC, @ISCO_MONE , null,  @INIM_DOCU ,@VSNU_DOCU_PERC OUTPUT              
             
    If @@error <> 0                  
    Begin                  
  Rollback Tran SP_TDAMAR_ANTC_I01                  
  Return                  
    End                      
    Select @ISNU_DOCU_ENTI = @VSNU_DOCU_PERC                  
   End                
  --     
  Else    
    Update  TMDOCU_CLIE        
    Set     IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),         
    CO_ESTA_DOCU = 'PAG',        
    FE_USUA_MODI = Getdate(),         
    CO_USUA_MODI = @ISCO_USUA_MODI        
    Where CO_EMPR = @ISCO_EMPR         
    And CO_CLIE = @ISCO_ENTI         
    And CO_TIPO_DOCU = @ISTI_DOCU_ENTI         
    And NU_DOCU_CLIE = @ISNU_DOCU_ENTI     
       
    END -- 2 --        
       
    Else  -- 2---        
     Update    TMDOCU_PROV        
     Set  IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),         
     CO_ESTA_DOCU = 'PAG',        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR        
     And CO_PROV = @ISCO_ENTI         
     And CO_TIPO_DOCU = @ISTI_DOCU_ENTI         
     And NU_DOCU_PROV = @ISNU_DOCU_ENTI        
       
   END -- 3 ---        
       
   ELSE -- 3 -- SI SON LETRAS        
   BEGIN -- Else 3 --        
    If @ISTI_ENTI = 'C'  -- 4 ---        
          
    Begin        
     Select @VSCO_ESTA_LETR = CO_ESTA_DOCU         
     From   TMLETR_CLIE        
     Where  CO_EMPR = @ISCO_EMPR        
     And    NU_LETR_CLIE = @ISNU_DOCU_ENTI        
          
     Update  TMLETR_CLIE        
     Set     IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),         
     CO_ESTA_DOCU = 'PAG',        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR         
     And NU_LETR_CLIE  = @ISNU_DOCU_ENTI        
       
     Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1        
     From   TDKARD_DOCU        
     Where  CO_EMPR = @ISCO_EMPR        
       
     Insert Into TDKARD_DOCU (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_ESTA_ACTU,        
     CO_ESTA_DOCU, NU_CORR_MODI, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI )        
     Values ( @ISCO_EMPR, @VNNU_SECU , @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, @ISCO_ENTI,        
     'PAG',  @VSCO_ESTA_LETR, @VNNU_SECU, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())          
       
     If @@error <> 0        
     Begin        
      Rollback tran        
      Return        
     End        
    End        
    Else -- 4---        
    Begin        
     Select @VSCO_ESTA_LETR = CO_ESTA_DOCU         
     From   TMLETR_PROV        
     Where  CO_EMPR = @ISCO_EMPR        
     And    CO_PROV = @ISCO_ENTI        
     And    NU_LETR_PROV = @ISNU_DOCU_ENTI        
       
     Update TMLETR_PROV         
     Set  IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),         
     CO_ESTA_DOCU = 'PAG',        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR         
     And   CO_PROV = @ISCO_ENTI        
     And   NU_LETR_PROV = @ISNU_DOCU_ENTI        
       
     Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1        
     From   TDKARD_DOCP        
     Where  CO_EMPR = @ISCO_EMPR        
       
     Insert Into TDKARD_DOCP (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, CO_ESTA_ACTU,        
     CO_ESTA_DOCU, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)        
     Values ( @ISCO_EMPR, @VNNU_SECU , @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, @ISCO_ENTI,        
     'PAG',  @VSCO_ESTA_LETR, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())          
       
     If @@error <> 0        
     Begin        
      Rollback tran        
      Return        
     End        
    End        
   END -- Else 3 ---        
  END -- 5 ---         
         
  Else -- 5--- SI NO SE CIERRA EL DOCUMENTO        
  BEGIN -- Else 5 --         
   If @ISTI_DOCU_ENTI != 'LET'        
   BEGIN --- 5a ---        
    If @ISTI_ENTI = 'C'        
    BEGIN --- 5b ---        
     Update     TMDOCU_CLIE        
     SET        IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI        
     Where    CO_EMPR = @ISCO_EMPR         
     And CO_CLIE = @ISCO_ENTI        
     And CO_TIPO_DOCU = @ISTI_DOCU_ENTI        
     And NU_DOCU_CLIE = @ISNU_DOCU_ENTI         
       
       
    END -- 5b --        
       
    Else         
     Update TMDOCU_PROV        
     Set  IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI             Where CO_EMPR = @ISCO_EMPR         


     And CO_PROV = @ISCO_ENTI        
     And CO_TIPO_DOCU = @ISTI_DOCU_ENTI        
     And NU_DOCU_PROV = @ISNU_DOCU_ENTI        
          
   END -- 5a --         
   Else        
   BEGIN -- Else 5a --        
    If @ISTI_ENTI = 'C'        
     Update  TMLETR_CLIE        
     Set  IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR         
     And NU_LETR_CLIE = @ISNU_DOCU_ENTI        
    Else        
     Update TMLETR_PROV          
   Set  IM_PAGA = IsNull(IM_PAGA,0) + Round(@VNIM_CONV_DOCU,2),        
     FE_USUA_MODI = Getdate(),         
     CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR         
     And CO_PROV = @ISCO_ENTI        
     And NU_LETR_PROV = @ISNU_DOCU_ENTI        
   END         
  END         
       
  If @@error <> 0        
  Begin        
   Rollback tran        
   Return        
  End        
       
       
 END -- 6--        
       
       
 ELSE  -- 6--        
 BEGIN         
       
  BEGIN        
   Select  @VNIM_CONV_ANTE = 0         
         
   Select  @VNIM_CONV_ANTE = IsNull(IM_CONV_DOCU,0)         
   From    TDAMAR_ANTC        
   Where   CO_EMPR = @ISCO_EMPR        
   And NU_AMAR = @ISNU_AMAR        
   And FE_AMAR = @IDFE_AMAR        
   And NU_SECU = @INNU_SECU          
  END         
       
  Update  TDAMAR_ANTC         
  Set  IM_DETA = @INIM_DETA,        
  IM_CONV_DOCU = @VNIM_CONV_DOCU,                      
  DE_OBSE = @ISDE_OBSE,        
  ST_CIER_DOCU = @ISST_CIER_DOCU,        
  IM_DETA_NEGA = @INIM_DETA_NEGA,        
  FE_USUA_MODI = Getdate(),        
  CO_USUA_MODI = @ISCO_USUA_MODI        
  Where  CO_EMPR = @ISCO_EMPR        
  And CO_UNID_CONC = @ISCO_UNID_CONC        
  And NU_AMAR = @ISNU_AMAR        
  And FE_AMAR = @IDFE_AMAR        
  And NU_SECU = @INNU_SECU         
       
  If @@error <> 0        
  Begin        
   Rollback tran        
   Return        
  End        
       
       
 If @ISST_CIER_DOCU = 'S'  -- 7 --        
 BEGIN        
 If @ISTI_DOCU_ENTI != 'LET'                           
 BEGIN -- 8 --        
 If @ISTI_ENTI = 'C'         
 BEGIN -- 8a --        
          Update  TMDOCU_CLIE        
          Set     IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),         
 CO_ESTA_DOCU = 'PAG',        
              FE_USUA_MODI = Getdate(),         
 CO_USUA_MODI = @ISCO_USUA_MODI        
          Where   CO_EMPR = @ISCO_EMPR         
          And CO_CLIE = @ISCO_ENTI         
          And CO_TIPO_DOCU = @ISTI_DOCU_ENTI         
          And NU_DOCU_CLIE = @ISNU_DOCU_ENTI         
       
 /*Update  TCDOCU_CLIE        
          Set IM_PAGA = IsNull(IM_PAGA,0) - Round(VNIM_CONV      
 _ANTE,2) + Round(@VNIM_CONV_DOCU,2) , CO_ESTA_DOCU = 'PAG',         
         FE_USUA_MODI = Getdate(),         
 CO_USUA_MODI = @ISCO_USUA_MODI        
          Where  CO_EMPR = @ISCO_EMPR         
     And TI_DOCU = @ISTI_DOCU_ENTI         
          And NU_DOCU = @ISNU_DOCU_ENTI        
 And TI_DOCU != VSTI_DOCU_TICK */        
       
 END -- 8a --        
       
 Else -- 8 --        
 BEGIN -- Else 8 --        
   Update  TMDOCU_PROV        
   Set  IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2) ,         
   CO_ESTA_DOCU = 'PAG',        
   FE_USUA_MODI = Getdate(),         
   CO_USUA_MODI = @ISCO_USUA_MODI        
   Where  CO_EMPR = @ISCO_EMPR         
   And CO_PROV = @ISCO_ENTI         
   And CO_TIPO_DOCU = @ISTI_DOCU_ENTI         
   And NU_DOCU_PROV = @ISNU_DOCU_ENTI         
       
 END -- Else 8 --        
 END -- 8 --        
       
 Else -- 8 --        
 BEGIN -- Else 8 --        
 If @ISTI_ENTI = 'C'         
    Begin        
   Select @VSCO_ESTA_LETR = CO_ESTA_DOCU         
   From   TMLETR_CLIE        
   Where  CO_EMPR = @ISCO_EMPR        
   And    NU_LETR_CLIE = @ISNU_DOCU_ENTI        
       
   Update TMLETR_CLIE        
   Set    IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),         
   CO_ESTA_DOCU = 'PAG',        
   FE_USUA_MODI = Getdate(),         
   CO_USUA_MODI = @ISCO_USUA_MODI        
   Where  CO_EMPR = @ISCO_EMPR         
   And NU_LETR_CLIE  = @ISNU_DOCU_ENTI         
       
   Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1        
   From   TDKARD_DOCU         
   Where  CO_EMPR = @ISCO_EMPR        
       
   Insert Into TDKARD_DOCU (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_CLIE, CO_CLIE, CO_ESTA_ACTU,        
    CO_ESTA_DOCU, NU_CORR_MODI,CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)        
   Values ( @ISCO_EMPR, @VNNU_SECU , @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, @ISCO_ENTI,        
   'PAG',  @VSCO_ESTA_LETR, @VNNU_SECU,@ISCO_USUA_MODI, GETDATE(), @ISCO_USUA_MODI, GETDATE())          
       
       If @@error <> 0        
          Begin        
            Rollback tran     
            Return        
          End        
    End         
  Else        
    Begin        
       Select @VSCO_ESTA_LETR = CO_ESTA_DOCU         
       From   TMLETR_PROV        
       Where  CO_EMPR = @ISCO_EMPR        
       And    CO_PROV = @ISCO_ENTI        
       And    NU_LETR_PROV = @ISNU_DOCU_ENTI        
       
 Update TMLETR_PROV         
      Set   IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),         
 CO_ESTA_DOCU = 'PAG',        
              FE_USUA_MODI = Getdate(),         
 CO_USUA_MODI = @ISCO_USUA_MODI        
      Where   CO_EMPR = @ISCO_EMPR         
      And CO_PROV = @ISCO_ENTI        
      And NU_LETR_PROV  = @ISNU_DOCU_ENTI         
       
       Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1        
       From   TDKARD_DOCP        
       Where  CO_EMPR = @ISCO_EMPR        
       
       Insert Into TDKARD_DOCP (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, CO_ESTA_ACTU,        
                          CO_ESTA_DOCU, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI )        
       Values ( @ISCO_EMPR, @VNNU_SECU , @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, @ISCO_ENTI,        
 'PAG',  @VSCO_ESTA_LETR, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())          
       
       If @@error <> 0        
          Begin        
            Rollback tran        
            Return        
          End        
       
    End        
       
 END -- 8 --        
 END -- 7 --        
       
 Else        
 BEGIN        
 If @ISTI_DOCU_ENTI != 'LET'         
 BEGIN        
 If @ISTI_ENTI = 'C'          
 BEGIN        
    Update  TMDOCU_CLIE        
   Set  IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),        
           FE_USUA_MODI = Getdate(),         
 CO_USUA_MODI = @ISCO_USUA_MODI        
   Where  CO_EMPR = @ISCO_EMPR         
   And CO_CLIE = @ISCO_ENTI        
   And CO_TIPO_DOCU = @ISTI_DOCU_ENTI        
   And NU_DOCU_CLIE = @ISNU_DOCU_ENTI         
       
 /*        
 Update TCDOCU_CLIE        
     SET  IM_PAGA = IsNull(IM_PAGA,0) - Round(VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),        
          FE_USUA_MODI = Getdate(),         
 CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR         
     And TI_DOCU = @ISTI_DOCU_ENTI        
     And NU_DOCU = @ISNU_DOCU_ENTI        
 And TI_DOCU != VSTI_DOCU_TICK */        
       
 END        
       
 Else        
     Update  TMDOCU_PROV        
     SET  IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),        
          FE_USUA_MODI = Getdate(),         
 CO_USUA_MODI = @ISCO_USUA_MODI        
     Where CO_EMPR = @ISCO_EMPR         
   And CO_PROV = @ISCO_ENTI        
   And CO_TIPO_DOCU = @ISTI_DOCU_ENTI        
   And NU_DOCU_PROV = @ISNU_DOCU_ENTI         
 END --        
       
 Else        
 BEGIN         
 If @ISTI_ENTI = 'C'         
  Update  TMLETR_CLIE        
  Set  IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),        
  FE_USUA_MODI = Getdate(),         
  CO_USUA_MODI = @ISCO_USUA_MODI        
  Where CO_EMPR = @ISCO_EMPR         
  And NU_LETR_CLIE = @ISNU_DOCU_ENTI         
  Else         
  Update  TMLETR_PROV         
  Set  IM_PAGA = IsNull(IM_PAGA,0) - Round(@VNIM_CONV_ANTE,2) + Round(@VNIM_CONV_DOCU,2),        
  FE_USUA_MODI = Getdate(),         
  CO_USUA_MODI = @ISCO_USUA_MODI        
  Where CO_EMPR = @ISCO_EMPR         
  And CO_PROV = @ISCO_ENTI        
  And NU_LETR_PROV = @ISNU_DOCU_ENTI         
       
 If @@error <> 0        
 Begin        
 Rollback tran        
 Return        
 End        
 END --        
       
 END         
 End         
commit tran        
        
/*------------------------ Fin ------------------------------*/ 

GO
